class Guia < ActiveRecord::Base
  has_and_belongs_to_many :trabalhos #, :dependent => :destroy
  belongs_to :operadora
  belongs_to :empresa
  
  validates_presence_of :numeroguiaprincipal
  validates_presence_of :numerocarteirabeneficiario
  validates_presence_of :nomebeneficiario
  validates_presence_of :codigoprestadornaoperadorasolic
  validates_presence_of :nomecontratadosolic
  validates_presence_of :nomeprofcontratadosolic
  validates_presence_of :siglaconselhosolic
  validates_presence_of :numeroconselhosolic
  validates_presence_of :ufconselhosolic
  validates_presence_of :carateratendimento 
  validates_presence_of :tiposaida
  validates_presence_of :tipoatendimento

#  validates_each _format_of :validadecarteirabeneficiario, :dataemissaoguia, :with => /^((0?[1-9]|[12]\d)\/(0?[1-9]|1[0-2])|30\/(0?[13-9]|1[0-2])|31\/(0?[13578]|1[02]))\/(19|20)?\d{2}$/ 
#  validates_each :first_name, :last_name do |record, attr, value|
#   record.errors.add attr, 'starts with z.' if value[0] == ?z
#  end
  validates_each :validadecarteirabeneficiario do |record, attr, value|
   record.errors.add attr, 'inválida.' unless Date.valid?(value)
  end
  
  validates_each :dataemissaoguia do |record, attr, value|
   record.errors.add attr, 'inválida.' unless Date.valid?(value)
  end  

  validates_uniqueness_of :numeroguiaprincipal

  validates_numericality_of   :numeroguiaprincipal
  validates_numericality_of   :numerocarteirabeneficiario
  validates_numericality_of   :numeroconselhosolic
  validates_numericality_of   :tiposaida
  validates_numericality_of   :tipoatendimento

  validates_length_of :numeroguiaprincipal, :is => 12
  validates_length_of :codigoprestadornaoperadorasolic, :maximum => 14

end
